# -*- coding: utf-8 -*-
# autor: Eduardo Cardeira - Nº6033
# data: 14/10/2013
# obs.: Exemplos do Livro na Aula 4

# Ficheiros CSV e SQLite3



# Estruturas de Dados Persistentes

import pickle

class ClasseExemplo:
    def __init__(self, nome):
        self.nome = nome
        pass

    def __str__(self):
        return "obj: " + str(self.nome)
    pass

lista_exemplo = [ ClasseExemplo(str(x)) for x in range(10)]

for obj in lista_exemplo:
    print obj

ficheiro = open("picla.dat", "w")
pickle.dump(lista_exemplo, ficheiro)
ficheiro.close()

del lista_exemplo

ficheiro = open('picla.dat', 'r')
lista_exemplo = pickle.load(ficheiro)
ficheiro.close()

for elemento in lista_exemplo:
    print elemento

# Erros e Exceções

a = 0
b = 0
try:
    c = a / b
except:
    c = 0
else:
    c = 1
finally:
    print "exemplo de processamento de excecoes"

print c

b = 1
try:
    c = a / b
except:
    c = 0
else:
    c = 1
finally:
    print "exempli de processamento de excecoes"

print c

b = 0
try:
    c = a / b
except ZeroDivisionError:
    c = 2
except:
    c = 0
else:
    c = 1
finally:
    print "exemplode processamento de excecoesstrings"

print c
